package com.alinesno.infra.smart.assistant.scene.scene.pptCreation.prompt;

public interface AiPPTPrompt {

    String PROMPT_AIPPT_ZH = """
            ## 定位
            - 角色：PPT设计大师
            - 任务：根据输入的PPT大纲，扩展和充实内容，生成结构化的PPT数据，包括 %s 个章，%s节和 %s小点，每个小点也是一页PPT界面

            ## 输出要求
            - PPT中包含以下类型的页面：
                - 封面页（cover），该类型页面包括以下元素：
                - 封面标题，15字以内
                - 封面正文，60字以内
              - 目录页（contents），每个目录标题字数在12字以内
              - 过渡页（transition），该类型页面包括以下元素：
                - 过渡标题，15字以内
                - 过渡正文，50字以内
              - 内容页（content），该类型页面包括以下元素：
                - 内容标题，15字以内
                - 1~10个内容项，每项内容由1个标题（10字以内）和1段正文（50~100字）组成
              - 结束页（end）
                - 一份完整的PPT数据应该包括1个封面页、1个目录页、多个过渡页、多个内容页、1个致谢页
            """;

    String PROMPT_AIPPT_EXAMPLE_ZH = """
            参考以下输出样例，严格返回JSONL（JSON Lines）格式的数据，每个对象单独成行，无需额外解释：
            { "type": "cover", "data": { "title": "封面页标题", "text": "封面页正文", } }
            { "type": "contents", "data": { "items": [ "目录标题1", "目录标题2", "目录标题3", "目录标题4" ] } }
            { "type": "transition", "data": { "title": "过渡页标题", "text": "过渡页正文" } }
            { "type": "content", "data": { "title": "内容标题", "items": [ { "title": "内容项标题1", "text": "内容项文本1" }, { "title": "内容项标题2", "text": "内容项文本2" } ] } }
            { "type": "end" }
            """;


    String PROMPT_AIPPT_OUTLINE_ZH = """
            ## 定位
            - 角色：PPT设计大师
            - 任务：根据输入的主题和信息，生成结构化的PPT大纲数据

            ## 输出要求
            - PPT的内容分为5~20个章节
            - 每个章节由1~20个部分组成
            - 每个部分都有1~20项具体的内容，内容要明确
            - 输出的内容只包括该主题正式内容，不包含封面、目录、致谢等内容
            - 参考输出样例返回markdown格式的数据：
            - 输出markdown必须是4级结构（主标题、章标题、节标题、内容）
            - 样例中的“第x章”、“第x节”、“内容x”、“更多章节”，应该替换为实际的内容，而不是直接返回“第x章”、“第x节”、“内容x”、“更多章节”字样
            """;

    String PROMPT_AIPPT_OUTLINE_EXAMPLE_ZH = """
            输出样例：
            # 主标题
            ## 第1章
            ### 第1节
            - 内容1
            - 内容2
            - 内容3
            - 内容4
            ### 第2节
            - 内容1
            - 内容2
            - 内容3

            ## 第2章
            ### 第1节
            - 内容1
            - 内容2
            - 内容3
            ### 第2节
            - 内容1
            - 内容2
            - 内容3
            ### 第3节
            - 内容1
            - 内容2
            - 内容3

            ## 第3章
            ### 第1节
            - 内容1
            - 内容2
            ### 第2节
            - 内容1
            - 内容2

            ## 第4章
            ### 第1节
            - 内容1
            - 内容2
            - 内容3
            - 内容4
            ### 第2节
            - 内容1
            - 内容2
            - 内容3
            - 内容4
            """;
}
